import numpy as np
import pandas as pd
import os
import glob
import re
import warnings

warnings.filterwarnings("ignore")

# 列显示不全，进行设置
pd.set_option('display.max_columns', 500)
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.width', 180)  # 设置打印宽度(**重要**)


def main(path_input=r'2021-07-16-28#-jichang'):
    list_1 = []
    list_2 = []
    for root_dir, sub_dir, files in os.walk(path_input):
        root_dir_1 = root_dir.lower()
        if ('kongsao' not in root_dir_1) and (root_dir_1.endswith('detectimage') or root_dir_1.endswith('originimage')):
            # print(root_dir)  # 当前目录路径
            list_1.append(root_dir)
            # print(sub_dir)  # 当前目录下所有子目录
    for i in range(len(list_1)):
        if 2 * i < len(list_1):
            print(str(list_1[2 * i]).replace("\detectImage", ""), ':', len(os.listdir(list_1[2 * i])),
                  len(os.listdir(list_1[2 * i + 1])))

            if os.listdir(list_1[2 * i]) != os.listdir(list_1[2 * i + 1]):
                print(list_1[2 * i])
                print(list_1[2 * i + 1])
                # print(os.listdir(list_1[2 * i]))
                # print(os.listdir(list_1[2 * i+1]))

                print(set(os.listdir(list_1[2 * i])) ^ set(os.listdir(list_1[2 * i + 1])))
                print('bad')
                list_2.append([list_1[2 * i], list_1[2 * i + 1],
                               set(os.listdir(list_1[2 * i])) ^ set(os.listdir(list_1[2 * i + 1]))])
    for i in range(len(list_1)):
        list_dir = os.listdir(list_1[i])
        list_k = [int(i.split("_")[0]) for i in list_dir]
        list_k = sorted(list_k)
        print(list_1[i], list_k[-1])
        set_lst = set(list_k)
        # set会生成一个元素无序且不重复的可迭代对象，也就是我们常说的去重
        if len(set_lst) == len(list_k):
            pass
        else:
            print('列表里有重复的元素！')

    print('问题数据：')
    print(list_2)


if __name__ == "__main__":
    # 检测采集文件（原始 detectimage、originimage是否符合规范，缺失、重复、异常）
    path_input = r'I:\TAI40-II对比测试'
    main(path_input)
    print('-----------进程已结束-----------')
